Field of the Invention
Embodiments of the present invention generally relate to memory bandwidth reduction for motion compensation in video coding.
Description of the Related Art
Video compression, i.e., video coding, is an essential enabler for digital video products as it enables the storage and transmission of digital video. In general, video compression techniques apply prediction, transformation, quantization, and entropy coding to sequential blocks of pixels in a video sequence to compress, i.e., encode, the video sequence. Video decompression techniques generally perform the inverse of these operations in reverse order to decompress, i.e., decode, a compressed video sequence.
The Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T WP3/16 and ISO/IEC JTC 1/SC 29/WG 11 is currently developing the next-generation video coding standard referred to as High Efficiency Video Coding (HEVC). HEVC is expected to provide around 50% improvement in coding efficiency over the current standard, H.264/AVC, as well as larger resolutions and higher frame rates. To address these requirements, HEVC utilizes larger block sizes then H.264/AVC. In HEVC, the largest coding unit (LCU) can be up to 64×64 in size, while in H.264/AVC, the macroblock size is fixed at 16×16. Further, HEVC allows more variation in the sizes of prediction blocks, e.g., 4×4, 8×4, 4×8, etc.
Motion compensation in H.264/AVC is to known to require a large amount of memory bandwidth in embedded decoder implementations, such as smart phones, set-top boxes, etc. Allocation of 1 Gbyte/second (GB/second) or more of memory bandwidth to an H.264/AVC high definition (HD) decoder to guarantee proper decoding of worst-case video bit streams is not uncommon. Memory bandwidth for motion compensation is determined by factors such as prediction block size, the extent of the filter used in motion compensation, and the access characteristics of the memory. HEVC specifies an 8-tap filter for interpolation in motion compensation as compared to the 6-tap filter of H.264/AVC, thus the memory bandwidth requirements for motion compensation in HEVC are much higher than H.264/AVC for the same prediction block size. For the worst case prediction block size of 4×4, the memory bandwidth for motion compensation in HEVC (i.e., (7+4)*(7+4)*2/(5+4)/(5+4)/2)) is increased by about 50% over H.264/AVC. HEVC does allow inter-prediction of the smallest prediction block size (4×4) to be disabled, which helps reduce memory bandwidth requirements. If inter-prediction of 4×4 prediction blocks is disabled, motion compensation of 4×8 or 8×4 bi-directionally predicted prediction blocks becomes the worst case. In this instance, the relative memory bandwidth increase of HEVC as compared to H.264/AVC is approximately 2%, (i.e., (7+4)*(7+8)*2/(5+4)/(5+4)/2/2).
Further, HEVC is designed to support Ultra High Definition (UHD) video, which further increases the memory bandwidth requirements for motion compensation. The memory bandwidth for motion compensation of HUD video is expected to be an increasing bottleneck. Thus, further reduction of the worst cast memory bandwidth requirements for motion compensation is desirable.